网站导航:首页开源项目 USB开源项目:Easy USB 51 Programer  

目录导航

   
  1、项目简介
USB开发基础
1、USB接口的优点及开发难易度
2、USB设备的开发流程
3、USB接口芯片(USB控制器)的选择
4、了解USB的通讯过程
5、USB命令(请求)和USB描述符
6、实例讲解USB的枚举(配置)过程
准备工作
1、需要哪些工具
2、电路原理图
3、手工制作您的电路板
4、测试您的硬件
HID设备类
1、让PC机找到我们的硬件
2、如何成为一个HID设备(模拟鼠标)
3、如何成为一个HID设备(模拟键盘)
4、如何与HID设备通讯(一)
5、如何与HID设备通讯(二)
6、51编程器的实现
Windows USB 驱动程序(自定义设备)
1、Windows驱动开发基础
2、开发环境配置
3、第一个实例-Hello Wdm(一)
4、第一个实例-Hello Wdm(二)
5、真正的实例—驱动我们的实验板
6、真正的实例—测试驱动程序
7、真正的实例—控制LED及读取按键状态
8、如何编写应用程序
   

相关产品    淘宝网店
     
 

 
  更多...  
 
 
真正的实例—测试驱动程序 查看/参与此开源项目相关讨论
 

  在上一节中,我们利用向导生成了一个驱动程序,那么这个驱动程序正常工作了吗?现在我们就来测试一下,先不用向导生成的测试程序,我们先用BUS Hound来测试。

1、打开UBS Hound,切换到“Settings”页,设置Max Phase的值为64,这样只要读/写数据在64字节以内都能完整显示

2、切换到“Devices”页,选择“Easy USB 51 Programer”

3、双击“Easy USB 51 Programer”,弹出Bus Commander对话框,选择端点2输出那一项,Data Length设为64,Data随便填,然后点Run按钮

5、当按Run按钮时我们发现实验板的LED灯会闪烁,证明有数据传输,再切换到Bus Hound的Capture页,发现发向设备的数据被成功抓到,证明驱动程序是正常工作的

6、再修改一下下位机程序,让实验更生动一点,下面我们来实现这样一个功能:设备的端点2如果接收到数据马上将接收到的数据通过端点2发送到主机,扩展板上的LED的状态由接收到的第一个字节决定,如果第一个字节为0x00,LED全灭,如果第一个字节为0xFF,LED全亮。

  1)修改下位机程序,修改main函数,内容如下:

 
  1. main()   
  2. {      
  3.     if (Init_D12()!=0)                  //初始化D12   
  4.         return;                         //如果初始化不成功,返回   
  5.   
  6.     EX0 = 1;                            //开外部中断0   
  7.     PX0 = 0;                            //设置外部中断0中断优先级   
  8.     EA = 1;                             //开80C51总中断   
  9.   
  10.     while(1)   
  11.     {   
  12.         usbserve();                     //处理USB事件   
  13.         if(bEPPflags.bits.configuration)   
  14.         {   
  15.                
  16.             //在这里添加端点操作代码   
  17.             if(bEPPflags.bits.ep2_rxdone)   //端点2收到数据   
  18.             {   
  19.                 bEPPflags.bits.ep2_rxdone       = 0;                                   
  20.                        
  21.                     P0  = EpBuf[0];                //由接收到的第一个数据控制LED扩展板EXT-BOARD-A上LED的状态   
  22.                        
  23.                     D12_WriteEndpoint(5,64,EpBuf);   
  24.             }          
  25.                
  26.         }   
  27.     }   
  28. }   

  2)编译,烧录程序

  下载源代码

  同样利用Bus Hound向设备发送数据,我们就可以看到效果。

7、到目前为止我们都是用第三方工具来进行测试的,现在我们用DriverStudio向导生成的测试程序进行测试。

  1)编译测试程序的方法:

  • ? 在VC6中选择菜单“Project”->“Set Active Project”->“TestApp”
  • ? 选择菜单“DriverStudio”->“Build with BUILD.EXE”
     

  2)运行测试程序:测试程序位于Easy_USB_51_Programer\exe\objchk\i386目录下,将其拷贝到C盘根目录(为了方便运行测试程序),在命令行模式下键入以内容:

我们将看到以下内容

  查看测试程序得知发送的内容位于doWrite函数中,修改这个函数可以更改发送内容(记得重新编译测试程序后要重新拷贝一次)。

  打开驱动程序的Read和Write函数一看,原来DriverWorks已经为我们完成了代码,是不是很简单?

 
 
 
本站程序由百合电子工作室开发和维护
Copyright @ baihe electric studio
渝ICP备09006681号-4